package com.rybbaby.tss.front.tssMemberCheckAttendance.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * @description 会员考勤记录表
 * 
 * @author 雷春琼
 * 
 * @createDate 2017-08-10 上午10:33:46
 */
@Entity
@Table(name = "view_attendance_details")
@DynamicUpdate(true)
@DynamicInsert(true)
public class ViewAttendanceDetails implements Serializable {

	private static final long serialVersionUID = 91780591594115L;

	/** 主键 **/
	private String id;
	/** 会员Id **/
	private String  memberId;
	/** 班级Id **/
	private String  classId;
	/** 考勤类型 **/
	private Integer type;
	/** 状态 **/
	private Integer attendenceStatus;
	/** 备注 **/
	private String remark;
	/** 当前操作者Id **/
	private String adminUserId;
	/** 创建时间 **/
	private java.util.Date createTime;
	/** 更新时间 **/
	private java.util.Date updateTime;
	/** 版本 **/
	private Integer version;
	/** 课程名称 **/
	private String courseName;
	/** 单节消耗课时 **/
	private Integer expendClassHour;
	/** 上课时间 **/
	private java.util.Date startTime;
	/** 下课时间 **/
	private java.util.Date endTime;
	/** 上课时间 **/
	private java.util.Date startDate;
	/** 上课教室 **/
	private String roomName;
	/** 授课老师 **/
	private String realName;
	/** 操作人 **/
	private String userName;
	/** 课程体系 **/
	private String courseSystemName;


	/**
	 * 方法: 取得主键
	 *
	 * @return java.lang.Integer 主键
	 */
	@Id
	@GeneratedValue(generator = "view_attendance_detailsIDGenerator" , strategy = GenerationType.AUTO)
	@GenericGenerator(name = "view_attendance_detailsIDGenerator" , strategy = "uuid")
	@Column(name = "id", nullable= false, length = 32)
	public String getId() {
		return this.id;
	}

	/**
	 * 方法: 设置主键
	 *
	 * @param id 主键
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 方法: 取得会员Id
	 *
	 * @return java.lang.Integer 会员Id
	 */
	@Column(name = "memberId", nullable= true, length = 32)
	public String getMemberId() {
		return this.memberId;
	}

	/**
	 * 方法: 设置会员Id
	 *
	 * @param memberId 会员Id
	 */
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	/**
	 * 方法: 取得班级Id
	 *
	 * @return java.lang.Integer 班级Id
	 */
	@Column(name = "classId", nullable= true, length = 32)
	public String getClassId() {
		return this.classId;
	}

	/**
	 * 方法: 设置班级Id
	 *
	 * @param classId 班级Id
	 */
	public void setClassId(String classId) {
		this.classId = classId;
	}


/*
	*/
/**
	 * 方法: 取得已出勤天数
	 *
	 * @return java.lang.Integer 已出勤天数
	 *//*

	@Column(name = "alreadyAttendanceDay", nullable= true, length = 11)
	public Integer getAlreadyAttendanceDay() {
		return this.alreadyAttendanceDay;
	}

	*/
/**
	 * 方法: 设置已出勤天数
	 *
	 * @param alreadyAttendanceDay 已出勤天数
	 *//*

	public void setAlreadyAttendanceDay(Integer alreadyAttendanceDay) {
		this.alreadyAttendanceDay = alreadyAttendanceDay;
	}
*/

	/**
	 * 方法: 取得考勤类型
	 *
	 * @return java.lang.Integer 考勤类型
	 */
	@Column(name = "type", nullable= true, length = 11)
	public Integer getType() {
		return this.type;
	}

	/**
	 * 方法: 设置考勤类型
	 *
	 * @param type 考勤类型
	 */
	public void setType(Integer type) {
		this.type = type;
	}

	/**
	 * 方法: 取得状态
	 *
	 * @return java.lang.Integer 状态
	 */
	@Column(name = "attendenceStatus", nullable= true, length = 11)
	public Integer getAttendenceStatus() {
		return this.attendenceStatus;
	}

	/**
	 * 方法: 设置状态
	 *
	 * @param attendenceStatus 状态
	 */
	public void setAttendenceStatus(Integer attendenceStatus) {
		this.attendenceStatus = attendenceStatus;
	}

	/**
	 * 方法: 取得备注
	 *
	 * @return java.lang.String 备注
	 */
	@Column(name = "remark", nullable= true, length = 11)
	public String getRemark() {
		return this.remark;
	}

	/**
	 * 方法: 设置备注
	 *
	 * @param remark 备注
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 方法: 取得当前操作者Id
	 *
	 * @return java.lang.Integer 当前操作者Id
	 */
	@Column(name = "adminUserId", nullable= true, length = 11)
	public String getAdminUserId() {
		return this.adminUserId;
	}

	/**
	 * 方法: 设置当前操作者Id
	 *
	 * @param adminUserId 当前操作者Id
	 */
	public void setAdminUserId(String adminUserId) {
		this.adminUserId = adminUserId;
	}

	/**
	 * 方法: 取得创建时间
	 *
	 * @return java.sql.Timestamp 创建时间
	 */
	@Column(name = "createTime", nullable= true, length = 19)
	public Date  getCreateTime() {
		return this.createTime;
	}

	/**
	 * 方法: 设置创建时间
	 *
	 * @param createTime 创建时间
	 */
	public void setCreateTime(Date  createTime) {
		this.createTime = createTime;
	}

	@Column(name = "updateTime", nullable= true, length = 19)
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	/**
	 * 方法: 取得版本
	 *
	 * @return java.lang.Integer 版本
	 */
    @Version
	@Column(name = "version", nullable= true, length = 11)
	public Integer getVersion() {
		return this.version;
	}
	
	/**
	 * 方法: 设置版本
	 *
	 * @param version 版本
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}

	@Column(name = "courseName", nullable= true, length = 11)
	public String getCourseName() {
		return courseName;
	}

	public void setCourseName(String courseName) {
		this.courseName = courseName;
	}

	@Column(name = "startTime", nullable= true, length = 11)
	public java.util.Date getStartTime() {
		return startTime;
	}

	@Column(name = "expendClassHour", nullable= true, length = 11)
	public Integer getExpendClassHour() {
		return expendClassHour;
	}

	public void setExpendClassHour(Integer expendClassHour) {
		this.expendClassHour = expendClassHour;
	}
	public void setStartTime(java.util.Date startTime) {
		this.startTime = startTime;
	}

	@Column(name = "endTime", nullable= true, length = 11)
	public java.util.Date getEndTime() {
		return endTime;
	}

	public void setEndTime(java.util.Date endTime) {
		this.endTime = endTime;
	}

	@Column(name = "startDate", nullable= true, length = 11)
	public java.util.Date getStartDate() {
		return startDate;
	}

	public void setStartDate(java.util.Date startDate) {
		this.startDate = startDate;
	}

	@Column(name = "roomName", nullable= true, length = 11)
	public String getRoomName() {
		return roomName;
	}

	public void setRoomName(String roomName) {
		this.roomName = roomName;
	}

	@Column(name = "realName", nullable= true, length = 11)
	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	@Column(name = "userName", nullable= true, length = 11)
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	@Column(name = "courseSystemName", nullable= true, length = 11)
	public String getCourseSystemName() {
		return courseSystemName;
	}

	public void setCourseSystemName(String courseSystemName) {
		this.courseSystemName = courseSystemName;
	}
}